home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Original Code / Dialog Boxes / DrawOrFillEllipse / DrawOrFillEllipse.cs < prev    next >
Encoding:
Text File  |  2001-01-15  |  1.6 KB  |  52 lines

  1. //------------------------------------------------
  2. // DrawOrFillEllipse.cs ⌐ 2001 by Charles Petzold
  3. //------------------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.Windows.Forms;
  7.  
  8. class DrawOrFillEllipse: Form
  9. {
  10.      Color colorEllipse = Color.Red;
  11.      bool  bFillEllipse = false;
  12.  
  13.      public static void Main()
  14.      {
  15.           Application.Run(new DrawOrFillEllipse());
  16.      }
  17.      public DrawOrFillEllipse()
  18.      {
  19.           Text = "Draw or Fill Ellipse";
  20.           ResizeRedraw = true;
  21.  
  22.           Menu = new MainMenu();
  23.           Menu.MenuItems.Add("&Options");
  24.           Menu.MenuItems[0].MenuItems.Add("&Color...", 
  25.                                    new EventHandler(MenuColorOnClick));
  26.      }
  27.      void MenuColorOnClick(object obj, EventArgs ea)
  28.      {
  29.           ColorFillDialogBox dlg = new ColorFillDialogBox();
  30.  
  31.           dlg.Color = colorEllipse;
  32.           dlg.Fill  = bFillEllipse;
  33.  
  34.           if (dlg.ShowDialog() == DialogResult.OK)
  35.           {
  36.                colorEllipse = dlg.Color;
  37.                bFillEllipse = dlg.Fill;
  38.                Invalidate();
  39.           }
  40.      }
  41.      protected override void OnPaint(PaintEventArgs pea)
  42.      {
  43.           Graphics  grfx = pea.Graphics;
  44.           Rectangle rect = new Rectangle(0, 0, ClientSize.Width - 1,
  45.                                                ClientSize.Height - 1);
  46.           if(bFillEllipse)
  47.                grfx.FillEllipse(new SolidBrush(colorEllipse), rect);
  48.           else
  49.                grfx.DrawEllipse(new Pen(colorEllipse), rect);
  50.      }
  51. }
  52.